#字典  ：python的内置数据结构之一  和列表一样是一个可变的序列
#       以键值对的方式存储数据，字典是一个无序的序列
#       字典是无序序列    scores={‘张三’：100，‘李四’：120，‘王五’：200}
#       字典的实现原理    与查字典类似 根据key查找value所在地位置  需要通过哈希函数hash（key）计算
#       键必须是不可变序列：   所以不可以实现增删改

#字典的创建  两种方法
scores={'张三':100,'李四':47,'王五':88}
student=dict(name='a',age=20)   #name是键  age是值
print(scores,type(scores),id(scores))

# 获取字典的值
print(scores['张三'])  #第一种方法      如果查找不存在的key  会报错key不存在
print(scores.get('张三'))    #第二种方法       如果查找不存在的key    会输出None
print(scores.get('张6',99))    #99为如果张6不存在 返回的默认值   不写返回None

#字典的常用操作
    #判断key 是否存在
print('张三'in scores)   #判断in  / not in
    #  增删改
del scores['李四']  # 删除某一对
print(scores,'text1')
scores.clear()  #清空字典

scores1={'张三':100,'李四':47,'王五':88}
scores1['陈柳']=99  #字典增加内容
print(scores1)
scores1['张三']=111
print(scores1,'text2') #修改字典的内容

# 获取字典视图的方法
key1=scores1.keys()     #获取key
print(key1,type(key1),list(key1))
value1=scores1.values()     #获取值value
print(value1,type(value1))
item1=scores1.items()
print(item1,type(item1),'元祖')  #获取键值对     转换出来的元素是由元祖组成的

#字典的常用操作
    #字典元素的遍历
for a in scores1:
    print(a,scores1[a],scores1.get(a))





